Chris Bøg

The Elements of Computing Systems: Building a Modern Computer from First Principles

Recommendation: 10/10. Author: Noam Nisan ISBN: 9780262140874. External link: Goodreads.

I didn't know about this book when I started learning about computing systems a long time ago. It was also a fairly new book at the time, probably only a couple of years old, and it hadn't yet garnered the reputation it has today. It has resided on my reading list for years, so a month ago, I decided to finally read it. Or do it, because it's not a book you read, it's a book you do.

The book takes you through building a complete (emulated) computing system from implementing the simplest hardware component, a NAND gate, to a complete software stack capable of running for example a tetris game, hence the books pet name nand2tetris.

The book is extremely approachable. Each chapters starts with an explanation and ends with a project to build, and as long as you do implement the projects along the way, you will know everything you need to know to finish the book and build a complete computing system.

For anybody wanting to know how computers work from hardware to high level software, this is without doubt the best singular source to learn from that I know of.